草庐IT

Where 条件

全部标签

mysql - SELECT * FROM Table WHERE colA 和 colB 至少有 3 个相同

我必须将这两个mySQL查询合并为一个。我复制了一个解决方案并将其用于连接表。我正在查询一个包含两列(标记为“to_”和“from_”)的连接表。'to_'和'from_'都保存同一张表的ID号。我需要以这样的方式组合这些查询,以便根据以下条件获得结果:[('from_'+'to_')>3],其中'from_'和'to_'具有相同的值(即,它们指的是相同的ID)。$query="select*fromnodeswherenodeIDin(selectto_fromjoinTablegroupbyto_havingcount(*)>3)";...$query="select*fromno

mysql - 优化 MySQL - WHERE 和 ORDER BY 使用不同的列

我有一个115MByte、1,600,000行的表,用于存储房价和坐标。“SELECT”查询花费的时间太长。我想知道是否有人可以建议加快速度的方法。我的表的稍微简化的版本....CREATETABLE`prices1`(`price`INT(10)NOTNULL,`address`VARCHAR(127)NOTNULL,`lat`FLOAT(6,4)NOTNULLCOMMENT'GPSlatitude',`lng`FLOAT(6,4)NOTNULLCOMMENT'GPSlongitude',INDEX`lat`(`lat`),INDEX`price`(`price`))ENGINE=M

mysql - 具有多个 where 和 order by 子句的慢查询

我正在尝试寻找一种方法来加速缓慢的(文件排序)MySQL查询。表格:categories(id,lft,rgt)questions(id,category_id,created_at,votes_up,votes_down)示例查询:SELECT*FROMquestionsqINNERJOINcategoriescON(c.id=q.category_id)WHEREc.lft>1ANDc.rgt如果我删除ORDERBY子句,它会很快。我知道MySQL不喜欢在同一个子句中同时使用DESC和ASC命令,所以我尝试添加一个复合(created_at,votes_up)索引到question

php - 从 4 个 where 子句中的每一个中选择 1 个 rand() mysql

使用MySQL和PHP。我正在尝试从表格中随机选择4个广告。1个用于adspot1、1个用于adspot2、1个用于adspot3、1个用于adspot4。这是我的表格的样子:ad_id|ad_spot|ad_html1|3|2|1|3|4|4|2|表中大约有1200个广告,每个广告位都有多条记录,记录随时可能更改。下面是我用来为特定广告位选择1个随机广告的查询:SELECTad_htmlFROMadsWHEREad_spot='2'ORDERBYRAND()LIMIT1我为一个脚本计时,该脚本选择了所有1200条记录并将它们放入一个PHP数组中,然后为每个广告位随机选择1个。这比使用

php - 如何在 MySQL 中的 if (like) 条件下使用不同的表

我有三个表第一张表(天)只保存值,即uid,title1,Mon2,Tue3,Wedetc,etc第二个表(查找)使用第一个表uid,day_id,date,status,tech_id1,1,2012-01-01,1,7002,2,2012-01-02,0,700etc,etc第三个表(模板)使用第一个表uid,day_id,status,tech_id1,1,1,7002,2,0,7003,3,0,700实际上,每个表都显示了更多的信息,但这些数据目前无关紧要。我试图做的是在单个SQL函数中执行所有步骤,而不是依赖代码。如果那天没有条目,我试图让SQL函数使用模板表而不是查找表在伪

php - 在 'country_id' 子句中获取列 'where' 是不明确的 - cakephp 1.3 中的搜索查询错误

我正在使用CakePHP1.3版本使用搜索插件来实现搜索功能。我有三个模型:演示,国家国家Demo有两个外键,country_id和state_id。State具有外键country_id。我正在做的是,我有一个搜索表单,其中包含国家和州下拉列表,从国家和州表中获取所有数据。当我从下拉列表中搜索任何国家并提交表格时,它会显示以下错误。如果我只使用状态下拉列表进行搜索,我会得到正确的结果。当我执行搜索查询时,出现错误'Column'country_id'inwhereclauseisambiguous'我的查询是:SELECT`Demo`.`id`,`Demo`.`demo2`,`Dem

mysql - 如何: Find and update all the entries where the value in one column shows up more than once

我有一个包含以下列的表格:subid-资源的idauthorid-作者的id排序-作者在引用中的顺序对于用户可以提交资源并引用多个作者的应用程序。作者可以在他们的投稿中引用主要和次要作者,而且通常会这样做。有一种情况,用户(称他为用户111)提交的所有条目都将自己列为主要作者,实际作者为次要作者。不幸的是,那个人已经离开了这个项目,所以我来解决这个问题(我必须纯粹用sql来做)。我正在尝试弄清楚如何构建一个查询来执行以下操作:查找所有条目subid值在表中出现多次其中至少一个authorid值是111111的排序大于非111的任何用户的排序并更新它们not(111)作者的排序为“0”并

mysql rand() 替代方案 [必须满足某些条件]

我当前的查询看起来像那样SELECT*FROMuploadsWHEREapproved=1AND(up-down)>=3ORDERBYRAND()LIMIT10这是从数据库中随机选择10个至少有3个喜欢多于不喜欢的条目。问题是因为我在数据库中有超过40k个条目,这个查询至少需要1秒。我在谷歌上阅读了很多内容,但到目前为止还没有找到任何东西。对于我的情况,您有什么替代方案可以推荐吗? 最佳答案 如果您要将所有匹配的记录加载到内存中,并且它们不是太多,那么最简单的答案就是在您的SQL中删除orderby,然后对它们进行排序随机在您的应用

php - Codeigniter where查询自定义

首先,我的数据库表字段中有以下详细信息,如'company_name'=>'TestCompany'。我想在比较输入数据('TestCompany'或'TestCompany'),因为该字符串(测试公司)的存在。请建议查询是否存在。我使用了以下内容,但它在所有情况下都不起作用。$companyname="TestCompany";$this->db->select("*");$companynames=str_replace('','',$companyname);$where="companyin('$companyname','$companynames')";//$where="

mysql - 使用 where 子句将数据表复制到表

正在尝试将新数据从表1复制到表2。我不确定如何用其他方式编码INSERTtable1SELECTx.*,y.TIMESTAMFROMtable1x,table2yWHEREx.TIMESTAM>y.TIMESTAM;如果时间戳较新(>)表2中的第1行,我想复制表1中的所有列 最佳答案 以下是将所有较新的数据从表2复制到表1的方法:INSERTINTOtable1SELECT*FROMtable2WHERETIMESTAM>(selectMAX(TIMESTAM)FROMtable1);